package com.gdust.hzx.manager.service;

import com.gdust.hzx.model.entity.system.SysMenu;
import com.gdust.hzx.model.vo.system.SysMenuVo;

import java.util.List;

/**
 * ClassName: SysMenuService
 * Package: com.gdust.spzx.manager.service
 * Description:
 *
 * @Author syun
 * @Create 2024/11/24 15:44
 * @Version 1.0
 */
public interface SysMenuService {

    /**
     * 查询菜单
     * @return 响应结果实体类返回结果与业务状态码
     */
    List<SysMenu> findNodes();

    /**
     * 添加菜单
     * @param sysMenu 系统菜单实体类
     */
    void save(SysMenu sysMenu);

    /**
     * 修改菜单
     * @param sysMenu 系统菜单实体类
     */
    void update(SysMenu sysMenu);

    /**
     * 删除菜单
     * @param id 菜单的唯一标识（路径参数）
     */
    void removeById(Long id);

    /**
     * 查询用户可以操作菜单
     * @return 业务状态码
     */
    List<SysMenuVo> findMenusByUserId();
}
